當我們想在字串裡放變數時,f-string 是最方便的工具:
name = "Rickey"
score = 95
print(f"{name} 的分數是 {score}") # Rickey 的分數是 95
f-string 也能做格式化:
pi = 3.14159
print(f"圓周率約為 {pi:.2f}") # 圓周率約為 3.14
Python 預設字串使用 Unicode,可以處理中文沒問題。但如果讀檔案或處理網頁資料,最好指定編碼:
with open("data.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
如果看到亂碼,通常是檔案本身不是 UTF-8,這時要先確認來源再轉換。
有時候我們要在字串中找「模式」而不是精確文字,比如找 email、電話號碼,這時候就要用正則表達式:
import re
text = "聯絡:abc@mail.com 或 0912-345-678"
emails = re.findall(r"\w+@\w+\.\w+", text)
phones = re.findall(r"\d{4}-\d{3}-\d{3}", text)
print(emails) # ['abc@mail.com']
print(phones) # ['0912-345-678']
正則表達式雖然需要額外學習,但只要掌握幾個常用模式,就能大幅提升文字處理的效率。
寫一個程式,讀取一段文字並完成以下: